package com.itcam.mappers;

import com.itcam.pojo.Employee;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * t_emp表对应数据库SQL语句映射接口!
 *    接口只规定方法,参数和返回值!
 *    mapper.xml中编写具体SQL语句!
 */
public interface EmployeeMapper {

    /**
     * 新增员工数据方法
     * @param employee 员工实体对象
     * @return 新增成功的记录条数
     */
    int insertEmployee(Employee employee);

    /**
     * 根据员工id删除员工数据方法
     * @param empId 员工id
     * @return 删除成功的记录条数
     */
    int updateEmployee(@Param("empId") Integer empId, @Param("empSalary") Double empSalary);

    /**
     * 修改员工数据方法
     * @param paramMap
     * @return
     */
    int updateEmployeeByMap(Map<String, Object> paramMap);

    /**
     * 查询员工数据总条数
     * @return
     */
    int selectEmpCount();

    /**
     * 根据员工id查询员工数据方法
     * @param empId  员工id
     * @return 员工实体对象
     */
    Employee selectEmployee(Integer empId);

    /**
     * 查询员工姓名和薪资的最大值
     * @return
     */
    Map<String,Object> selectEmpNameAndMaxSalary();

    /**
     * 查询所有员工数据方法
     * @return 员工实体对象集合
     */
    List<Employee> selectAll();

}